package com.xb.cloud.order.service.client;

import java.util.List;

import com.xb.cloud.order.service.client.bo.OrderQueryMerchantBo;
import com.xb.cloud.order.service.client.bo.SellOrderBo;
import com.xb.cloud.product.merchant.service.client.bo.EndMerchantUserBo;
import com.xb.cloud.service.client.ServiceReturnInfo;
import com.xb.cloud.user.service.client.bo.EndUserCartBo;

/**
 * 
 * @ClassName: UserSellOrderService
 * @Description:终端用户订单操作接口
 * @author: 鲜备科技
 * @date: 2018年1月5日 下午2:59:55
 * 
 * @Copyright: 2018 www.xianbeitech.com Inc. All rights reserved.
 *
 */
public interface SellOrderMerchantService {

	ServiceReturnInfo countOrderByShopAndStatus(OrderQueryMerchantBo orderQueryMerchantBo);

	ServiceReturnInfo getOrderListByShopAndStatus(OrderQueryMerchantBo orderQueryMerchantBo);

	ServiceReturnInfo getOrderCountStatistic(OrderQueryMerchantBo orderQueryMerchantBo);

	/**
	 * 确认支付(商家端)
	 * 
	 * @param orderQueryMerchantBo
	 * @param endMerchantUserBo
	 * @return
	 */
	ServiceReturnInfo confirmPay(Long orderId, EndMerchantUserBo endMerchantUserBo);

	/**
	 * 发货(商家端)
	 * 
	 * @param orderQueryMerchantBo
	 * @return
	 */
	ServiceReturnInfo orderDelivery(Long orderId, EndMerchantUserBo endMerchantUserBo);

	/**
	 * 取消订单(商家端)
	 * 
	 * @param orderQueryMerchantBo
	 * @return
	 */
	ServiceReturnInfo orderCancel(Long orderId, EndMerchantUserBo endMerchantUserBo, Long cancelReasonId);

	/**
	 * 商家代客下单
	 * 
	 * @Title generateOrder
	 * @param sellOrderBo
	 * @return
	 */
	ServiceReturnInfo generateOrder(SellOrderBo sellOrderBo);

}
